package cn.biplam.front.template.control.table.cell;

import cn.biplam.common.tools.TOOLS;
import cn.biplam.common.wrapper.ErrorMessage;
import cn.biplam.front.html.base.HtmlWindow;
import cn.biplam.front.template.base.Input;
import cn.biplam.front.template.base.Input.Input_Type;

/**
 * 	输入框单元格
 * @author XiaoRuxing
 * @create 2009-5-4下午05:43:53
 * @version 1.0
 */
public class InputCell extends Cell{

	/** 输入框 */
	private Input input;
	/** 表格宽度 */
	private int cellWidth;
	
	public InputCell(){}
	
	/**
	 * 构造方法
	 * @param sLable 标题
	 * @param sName  输入框名称
	 * @param content 内容
	 * @throws ErrorMessage
	 */
	public InputCell(String sLable,String sName,String content,int tableWidth) throws ErrorMessage{
		this.input=new Input(sLable,sName,Input_Type.text,content);
		this.cellWidth=TOOLS.getPxLength(input.getLength())+7;
		int lableWidth=sLable.getBytes().length;
		if(cellWidth>tableWidth&&tableWidth>lableWidth+7){
			input.setSize(tableWidth/7-lableWidth-4);
			this.cellWidth=tableWidth;
		}
	}
	
	/**
	 * 放入多个html对象到单元格
	 * @param html html对象组
	 * @throws ErrorMessage
	 */
	public void put(HtmlWindow... html) throws ErrorMessage{
		for(HtmlWindow ht:html){
			this.put(ht);
			this.cellWidth=this.cellWidth+ht.getLength();
		}
	}
	
	/**
	 * 获取单元格占位宽度
	 * @return 返回单元格占位宽度
	 */
	public int _getLength(){
		return cellWidth;
	}
	
	public void getContent() throws ErrorMessage{
		if(input!=null){
			this.put(input.get());
		}
	}
}
